#!/bin/bash
#
# Copyright 2020 eBlocker Open Source UG (haftungsbeschraenkt)
#
# Licensed under the EUPL, Version 1.2 or - as soon they will be
# approved by the European Commission - subsequent versions of the EUPL
# (the "License"); You may not use this work except in compliance with
# the License. You may obtain a copy of the License at:
#
#   https://joinup.ec.europa.eu/page/eupl-text-11-12
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" basis,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
# implied. See the License for the specific language governing
# permissions and limitations under the License.
#

# This script will prepare a freshly added VPNProfile instance with a basis (folderstructure) to be able to start
# this VPN client instance immediately.

# NOTE: It is important to cleanup when instances/profiles are deleted, cause this script assumes that the folder for the
#       given ID is not there yet!

VPN_FOLDERS_PREFIX=/opt/eblocker-icap/network/openvpn

if [ $# == '1' ];
then

    #debugging
    SCRIPT_NAME="openvpn_prestart"
    echo "$SCRIPT_NAME script started..." >> /var/log/eblocker/$SCRIPT_NAME.log

    ID=$1
    FOLDER="$VPN_FOLDERS_PREFIX/profile$ID"
    #create directory (and all parent directories needed)
    mkdir -p $FOLDER
    chown icapd:icapd $FOLDER

    #touch clients.acl file there
    ACLFILE=$FOLDER/clients$ID.acl
    touch $ACLFILE
    chown icapd:icapd $ACLFILE


    #debugging
    SCRIPT_NAME="openvpn_prestart"
    echo "$SCRIPT_NAME script finished!" >> /var/log/eblocker/$SCRIPT_NAME.log


else
    echo "Wrong number of arguments! Expecting the VPNProfile ID as the first argument!"
fi
